# stall cases
# test case s0
# mem_busy
0
# reg_write write
0
# reg_write reg
00000
# reg_write data
00000000000000000000000000000000
# pc_new
0000000000000000
# pc_old
0000000000000000
# pcsrc
0
# wb_op rd
00000
# wb_op write
0
# wb_op src
WBS_ALU
# aluresult
00000000000000000000000000000000
# memresult
00110100111000110110001000001010
# mem_out address
00000000000000
# mem_out rd
0
# mem_out wr
0
# mem_out byteena
1111
# mem_out wrdata
00000000000000000000000000000000
# exc_load
0
# exc_store
0

# test case s1
# mem_busy
0
# reg_write write
0
# reg_write reg
00000
# reg_write data
00000000000000000000000000000000
# pc_new
0000000000000000
# pc_old
0000000000000000
# pcsrc
0
# wb_op rd
00000
# wb_op write
0
# wb_op src
WBS_ALU
# aluresult
00000000000000000000000000000000
# memresult
10010111011001100100111101010100
# mem_out address
00000000000000
# mem_out rd
0
# mem_out wr
0
# mem_out byteena
1111
# mem_out wrdata
00000000000000000000000000000000
# exc_load
0
# exc_store
0

# test case s2
# mem_busy
1
# reg_write write
0
# reg_write reg
00000
# reg_write data
00000000000000000000000000000000
# pc_new
0000000000000000
# pc_old
0000000000000000
# pcsrc
0
# wb_op rd
00000
# wb_op write
0
# wb_op src
WBS_ALU
# aluresult
00000000000000000000000000000000
# memresult
00100001001110100000101100111101
# mem_out address
00000000000000
# mem_out rd
0
# mem_out wr
0
# mem_out byteena
1111
# mem_out wrdata
00000000000000000000000000000000
# exc_load
0
# exc_store
0

# flush cases
# test case f0
# mem_busy
1
# reg_write write
0
# reg_write reg
10000
# reg_write data
00000000000000000000000001111110
# pc_new
0100110101100101
# pc_old
0100010100001111
# pcsrc
0
# wb_op rd
00000
# wb_op write
0
# wb_op src
WBS_ALU
# aluresult
00010010000011010011100110101001
# memresult
00000000000000000000000001111110
# mem_out address
00111001101010
# mem_out rd
0
# mem_out wr
1
# mem_out byteena
0100
# mem_out wrdata
--------00011101----------------
# exc_load
0
# exc_store
0

# test case f1
# mem_busy
1
# reg_write write
1
# reg_write reg
11010
# reg_write data
00000000000000000100011000000000
# pc_new
1100011000111001
# pc_old
0100010111111100
# pcsrc
1
# wb_op rd
00000
# wb_op write
0
# wb_op src
WBS_ALU
# aluresult
00101001000111101101011011011001
# memresult
00000000000000000011000000101000
# mem_out address
11010110110110
# mem_out rd
0
# mem_out wr
0
# mem_out byteena
1100
# mem_out wrdata
1011101101000111----------------
# exc_load
1
# exc_store
0

# test case f2
# mem_busy
1
# reg_write write
0
# reg_write reg
00010
# reg_write data
00000000000000001001011111101010
# pc_new
0101000011101110
# pc_old
1001011111100110
# pcsrc
1
# wb_op rd
00000
# wb_op write
0
# wb_op src
WBS_ALU
# aluresult
00100010011111001101011000010110
# memresult
11111111111111111001100111101000
# mem_out address
11010110000101
# mem_out rd
1
# mem_out wr
0
# mem_out byteena
0011
# mem_out wrdata
----------------0011010010011011
# exc_load
0
# exc_store
0

# test case 0
# mem_busy
1
# reg_write write
1
# reg_write reg
00110
# reg_write data
00000000000000000000000001001101
# pc_new
1000110111010100
# pc_old
0100011001101110
# pcsrc
1
# wb_op rd
00110
# wb_op write
1
# wb_op src
WBS_MEM
# aluresult
01000111000000011001010010011010
# memresult
00000000000000000000000001001101
# mem_out address
10010100100110
# mem_out rd
1
# mem_out wr
0
# mem_out byteena
0010
# mem_out wrdata
----------------00000011--------
# exc_load
0
# exc_store
0

# test case 1
# mem_busy
1
# reg_write write
0
# reg_write reg
11110
# reg_write data
00000000000000000000000001000000
# pc_new
0111100001100001
# pc_old
0000111100110011
# pcsrc
0
# wb_op rd
11110
# wb_op write
0
# wb_op src
WBS_MEM
# aluresult
01011110110001111010011000011010
# memresult
00000000000000000000000001000000
# mem_out address
10100110000110
# mem_out rd
1
# mem_out wr
0
# mem_out byteena
0010
# mem_out wrdata
----------------00001110--------
# exc_load
0
# exc_store
0

# test case 2
# mem_busy
1
# reg_write write
0
# reg_write reg
00010
# reg_write data
00000000000000001101101101101000
# pc_new
1110101100010101
# pc_old
1101101101100100
# pcsrc
0
# wb_op rd
00010
# wb_op write
0
# wb_op src
WBS_OPC
# aluresult
01100111010110001000101010001111
# memresult
10110000111110010010011001000000
# mem_out address
10001010100011
# mem_out rd
0
# mem_out wr
0
# mem_out byteena
1111
# mem_out wrdata
11011011011010111110110100110111
# exc_load
1
# exc_store
0

# test case 3
# mem_busy
1
# reg_write write
0
# reg_write reg
10000
# reg_write data
00011011110000011010101001011111
# pc_new
0111100000000000
# pc_old
0010101110000111
# pcsrc
1
# wb_op rd
10000
# wb_op write
0
# wb_op src
WBS_MEM
# aluresult
00011110000110010100000111101011
# memresult
00011011110000011010101001011111
# mem_out address
01000001111010
# mem_out rd
0
# mem_out wr
0
# mem_out byteena
1111
# mem_out wrdata
10111010010010001101001001110010
# exc_load
0
# exc_store
1

# test case 4
# mem_busy
1
# reg_write write
0
# reg_write reg
00010
# reg_write data
00000000000000000000000010010001
# pc_new
1110111100000001
# pc_old
1110110101000000
# pcsrc
0
# wb_op rd
00010
# wb_op write
0
# wb_op src
WBS_MEM
# aluresult
01001010000000101000000001110110
# memresult
00000000000000000000000010010001
# mem_out address
10000000011101
# mem_out rd
1
# mem_out wr
0
# mem_out byteena
0010
# mem_out wrdata
----------------11000010--------
# exc_load
0
# exc_store
0

# test case 5
# mem_busy
1
# reg_write write
1
# reg_write reg
10110
# reg_write data
00000000000000000000000000111011
# pc_new
1110011110111101
# pc_old
1011100100010111
# pcsrc
1
# wb_op rd
10110
# wb_op write
1
# wb_op src
WBS_MEM
# aluresult
01001011101101001011111001111011
# memresult
00000000000000000000000000111011
# mem_out address
10111110011110
# mem_out rd
1
# mem_out wr
0
# mem_out byteena
0001
# mem_out wrdata
------------------------00111011
# exc_load
0
# exc_store
0

# test case 6
# mem_busy
1
# reg_write write
1
# reg_write reg
10101
# reg_write data
11111111111111111111111110110110
# pc_new
0101111101111000
# pc_old
1100000110100010
# pcsrc
0
# wb_op rd
10101
# wb_op write
1
# wb_op src
WBS_MEM
# aluresult
01010010100001001101001011101011
# memresult
11111111111111111111111110110110
# mem_out address
11010010111010
# mem_out rd
0
# mem_out wr
1
# mem_out byteena
0001
# mem_out wrdata
------------------------10110100
# exc_load
0
# exc_store
0

# test case 7
# mem_busy
1
# reg_write write
1
# reg_write reg
11100
# reg_write data
00000001000001111000011001110000
# pc_new
1101010110111001
# pc_old
0000000110010001
# pcsrc
0
# wb_op rd
11100
# wb_op write
1
# wb_op src
WBS_ALU
# aluresult
00000001000001111000011001110000
# memresult
10110100101010101010111100011100
# mem_out address
10000110011100
# mem_out rd
1
# mem_out wr
0
# mem_out byteena
1111
# mem_out wrdata
11110111110000100111110101010011
# exc_load
0
# exc_store
0

# test case 8
# mem_busy
1
# reg_write write
0
# reg_write reg
00001
# reg_write data
00000000000000000110110110100010
# pc_new
1110001101100011
# pc_old
0110110110011110
# pcsrc
0
# wb_op rd
00001
# wb_op write
0
# wb_op src
WBS_OPC
# aluresult
01010010001010000000001111101001
# memresult
11101110110000000100100001010001
# mem_out address
00000011111010
# mem_out rd
0
# mem_out wr
0
# mem_out byteena
1111
# mem_out wrdata
01110101011000011010011000001100
# exc_load
1
# exc_store
0

# test case 9
# mem_busy
1
# reg_write write
0
# reg_write reg
00011
# reg_write data
00000000000000000111001100010101
# pc_new
1011001100110110
# pc_old
0111001100010001
# pcsrc
0
# wb_op rd
00011
# wb_op write
0
# wb_op src
WBS_OPC
# aluresult
00011011001001110011011001011000
# memresult
00000000000000000010101001110011
# mem_out address
00110110010110
# mem_out rd
0
# mem_out wr
1
# mem_out byteena
1100
# mem_out wrdata
1101011001101011----------------
# exc_load
0
# exc_store
0

# test case 10
# mem_busy
1
# reg_write write
0
# reg_write reg
01000
# reg_write data
10101101101001111101000001001111
# pc_new
1101000110110011
# pc_old
0100011001001011
# pcsrc
1
# wb_op rd
01000
# wb_op write
0
# wb_op src
WBS_MEM
# aluresult
01101110001000110101111110110011
# memresult
10101101101001111101000001001111
# mem_out address
01011111101100
# mem_out rd
0
# mem_out wr
0
# mem_out byteena
1111
# mem_out wrdata
01001010110001000010011000001111
# exc_load
0
# exc_store
1

# test case 11
# mem_busy
0
# reg_write write
1
# reg_write reg
11100
# reg_write data
00000000000000001111111111100000
# pc_new
0000111000101111
# pc_old
1111111111011100
# pcsrc
1
# wb_op rd
11100
# wb_op write
1
# wb_op src
WBS_OPC
# aluresult
00101100101100000111100011010101
# memresult
00000000000000001000110001000010
# mem_out address
01111000110101
# mem_out rd
0
# mem_out wr
0
# mem_out byteena
1100
# mem_out wrdata
1101001000010011----------------
# exc_load
1
# exc_store
0

# test case 12
# mem_busy
0
# reg_write write
1
# reg_write reg
01100
# reg_write data
00000000000000000000000000010100
# pc_new
0110110100111110
# pc_old
0111001111001101
# pcsrc
0
# wb_op rd
01100
# wb_op write
1
# wb_op src
WBS_MEM
# aluresult
00110000100000101010110000100011
# memresult
00000000000000000000000000010100
# mem_out address
10101100001000
# mem_out rd
0
# mem_out wr
1
# mem_out byteena
0001
# mem_out wrdata
------------------------01100001
# exc_load
0
# exc_store
0

# test case 13
# mem_busy
0
# reg_write write
0
# reg_write reg
10101
# reg_write data
00000000000000000000000001010101
# pc_new
0111111100100000
# pc_old
1110110111011100
# pcsrc
0
# wb_op rd
10101
# wb_op write
0
# wb_op src
WBS_MEM
# aluresult
00111101010010101111101111101001
# memresult
00000000000000000000000001010101
# mem_out address
11111011111010
# mem_out rd
0
# mem_out wr
1
# mem_out byteena
0100
# mem_out wrdata
--------10010001----------------
# exc_load
0
# exc_store
0

# test case 14
# mem_busy
0
# reg_write write
1
# reg_write reg
01110
# reg_write data
00000000000000000000000011010100
# pc_new
0111101100111011
# pc_old
1010100001001010
# pcsrc
1
# wb_op rd
01110
# wb_op write
1
# wb_op src
WBS_MEM
# aluresult
00011111001001101011000001011011
# memresult
00000000000000000000000011010100
# mem_out address
10110000010110
# mem_out rd
0
# mem_out wr
1
# mem_out byteena
0001
# mem_out wrdata
------------------------10010110
# exc_load
0
# exc_store
0

# test case 15
# mem_busy
1
# reg_write write
0
# reg_write reg
00111
# reg_write data
10100101101101101101011000011001
# pc_new
1101010011011010
# pc_old
1101100100011111
# pcsrc
1
# wb_op rd
00111
# wb_op write
0
# wb_op src
WBS_MEM
# aluresult
01100101010101111111000110111110
# memresult
10100101101101101101011000011001
# mem_out address
11110001101111
# mem_out rd
0
# mem_out wr
0
# mem_out byteena
1111
# mem_out wrdata
10000101001101110111000100111011
# exc_load
1
# exc_store
0

# test case 16
# mem_busy
1
# reg_write write
1
# reg_write reg
10110
# reg_write data
11111111111111111011100000100000
# pc_new
1001111101011000
# pc_old
0100110101101111
# pcsrc
1
# wb_op rd
10110
# wb_op write
1
# wb_op src
WBS_MEM
# aluresult
01110101011001010101011110101101
# memresult
11111111111111111011100000100000
# mem_out address
01010111101011
# mem_out rd
0
# mem_out wr
0
# mem_out byteena
1100
# mem_out wrdata
0001000000100100----------------
# exc_load
0
# exc_store
1

# test case 17
# mem_busy
1
# reg_write write
0
# reg_write reg
01010
# reg_write data
00000000000000000000000001111000
# pc_new
0011000101000111
# pc_old
1110100011010011
# pcsrc
0
# wb_op rd
01010
# wb_op write
0
# wb_op src
WBS_MEM
# aluresult
00011000101011110111010110000000
# memresult
00000000000000000000000001111000
# mem_out address
01110101100000
# mem_out rd
1
# mem_out wr
0
# mem_out byteena
1000
# mem_out wrdata
01110001------------------------
# exc_load
0
# exc_store
0

# test case 18
# mem_busy
0
# reg_write write
1
# reg_write reg
01001
# reg_write data
01110000111011111010110001011001
# pc_new
1101111101000010
# pc_old
1111001001110110
# pcsrc
1
# wb_op rd
01001
# wb_op write
1
# wb_op src
WBS_ALU
# aluresult
01110000111011111010110001011001
# memresult
00000000000000001000000101100111
# mem_out address
10101100010110
# mem_out rd
0
# mem_out wr
0
# mem_out byteena
1100
# mem_out wrdata
0110001110011011----------------
# exc_load
1
# exc_store
0

# test case 19
# mem_busy
1
# reg_write write
0
# reg_write reg
00110
# reg_write data
00000000000000000111111110010111
# pc_new
1110000001000101
# pc_old
0111111110010011
# pcsrc
1
# wb_op rd
00110
# wb_op write
0
# wb_op src
WBS_OPC
# aluresult
01001011001110100100001111101110
# memresult
00000000000000000000000010100001
# mem_out address
01000011111011
# mem_out rd
1
# mem_out wr
0
# mem_out byteena
0010
# mem_out wrdata
----------------11110101--------
# exc_load
0
# exc_store
0

# test case 20
# mem_busy
1
# reg_write write
1
# reg_write reg
11111
# reg_write data
10110010100110010110010100011100
# pc_new
0101000011110001
# pc_old
0111110110100101
# pcsrc
0
# wb_op rd
11111
# wb_op write
1
# wb_op src
WBS_MEM
# aluresult
01110111010111011001000000100100
# memresult
10110010100110010110010100011100
# mem_out address
10010000001001
# mem_out rd
1
# mem_out wr
0
# mem_out byteena
1111
# mem_out wrdata
01110000101110101111011101101111
# exc_load
0
# exc_store
0

# test case 21
# mem_busy
1
# reg_write write
1
# reg_write reg
10110
# reg_write data
11011001001000000110010101010100
# pc_new
0110101000111011
# pc_old
1000001101101111
# pcsrc
0
# wb_op rd
10110
# wb_op write
1
# wb_op src
WBS_MEM
# aluresult
01111100101011011111110000101000
# memresult
11011001001000000110010101010100
# mem_out address
11111100001010
# mem_out rd
1
# mem_out wr
0
# mem_out byteena
1111
# mem_out wrdata
10010100010000001011111000110000
# exc_load
0
# exc_store
0

# test case 22
# mem_busy
1
# reg_write write
0
# reg_write reg
10000
# reg_write data
00000000000000000000000000110100
# pc_new
1001001000011010
# pc_old
1011000111000100
# pcsrc
1
# wb_op rd
10000
# wb_op write
0
# wb_op src
WBS_MEM
# aluresult
01101111101001101111010010010111
# memresult
00000000000000000000000000110100
# mem_out address
11110100100101
# mem_out rd
1
# mem_out wr
0
# mem_out byteena
0001
# mem_out wrdata
------------------------01000011
# exc_load
0
# exc_store
0

# test case 23
# mem_busy
1
# reg_write write
1
# reg_write reg
10100
# reg_write data
00000000000000000110101000011010
# pc_new
0100011001110011
# pc_old
0001110110110010
# pcsrc
1
# wb_op rd
10100
# wb_op write
1
# wb_op src
WBS_MEM
# aluresult
00111001100001101011100000001101
# memresult
00000000000000000110101000011010
# mem_out address
10111000000011
# mem_out rd
0
# mem_out wr
0
# mem_out byteena
1100
# mem_out wrdata
0110101101110110----------------
# exc_load
0
# exc_store
1

# test case 24
# mem_busy
1
# reg_write write
0
# reg_write reg
11010
# reg_write data
00000000000000000110100000101111
# pc_new
1111000100100011
# pc_old
0110100000101011
# pcsrc
1
# wb_op rd
11010
# wb_op write
0
# wb_op src
WBS_OPC
# aluresult
00111111111011011001110111100101
# memresult
11111111111111111111111110010100
# mem_out address
10011101111001
# mem_out rd
1
# mem_out wr
0
# mem_out byteena
0100
# mem_out wrdata
--------00011001----------------
# exc_load
0
# exc_store
0

# test case 25
# mem_busy
0
# reg_write write
1
# reg_write reg
01111
# reg_write data
01110110000000101111000011111000
# pc_new
0011001111001010
# pc_old
1000000110111011
# pcsrc
1
# wb_op rd
01111
# wb_op write
1
# wb_op src
WBS_ALU
# aluresult
01110110000000101111000011111000
# memresult
00000000000000001111001101001011
# mem_out address
11110000111110
# mem_out rd
0
# mem_out wr
1
# mem_out byteena
1100
# mem_out wrdata
0001101001001000----------------
# exc_load
0
# exc_store
0

# test case 26
# mem_busy
1
# reg_write write
1
# reg_write reg
01011
# reg_write data
00000000000000000000000011101010
# pc_new
0100100101000010
# pc_old
1111010111011100
# pcsrc
1
# wb_op rd
01011
# wb_op write
1
# wb_op src
WBS_MEM
# aluresult
01100111110001110001000001011011
# memresult
00000000000000000000000011101010
# mem_out address
00010000010110
# mem_out rd
1
# mem_out wr
0
# mem_out byteena
0001
# mem_out wrdata
------------------------11000111
# exc_load
0
# exc_store
0

# test case 27
# mem_busy
0
# reg_write write
0
# reg_write reg
00110
# reg_write data
00000101010010111010101000000110
# pc_new
0110100011111101
# pc_old
1000011100010010
# pcsrc
1
# wb_op rd
00110
# wb_op write
0
# wb_op src
WBS_ALU
# aluresult
00000101010010111010101000000110
# memresult
00000000000000000000000000000111
# mem_out address
10101010000001
# mem_out rd
0
# mem_out wr
1
# mem_out byteena
0010
# mem_out wrdata
----------------00110011--------
# exc_load
0
# exc_store
0

# test case 28
# mem_busy
1
# reg_write write
0
# reg_write reg
00011
# reg_write data
00000000000000001101111011111100
# pc_new
1001010110001101
# pc_old
1101111011111000
# pcsrc
1
# wb_op rd
00011
# wb_op write
0
# wb_op src
WBS_OPC
# aluresult
01000111001100100100011001011000
# memresult
00000000000000000000000000001110
# mem_out address
01000110010110
# mem_out rd
0
# mem_out wr
1
# mem_out byteena
1000
# mem_out wrdata
10110011------------------------
# exc_load
0
# exc_store
0

# test case 29
# mem_busy
1
# reg_write write
0
# reg_write reg
01111
# reg_write data
00000000000000000001111111110011
# pc_new
1100010100001011
# pc_old
0001111111101111
# pcsrc
1
# wb_op rd
01111
# wb_op write
0
# wb_op src
WBS_OPC
# aluresult
00000001111100000111010000101111
# memresult
11111111111111111111111111000001
# mem_out address
01110100001011
# mem_out rd
0
# mem_out wr
1
# mem_out byteena
0001
# mem_out wrdata
------------------------11000011
# exc_load
0
# exc_store
0

# test case 30
# mem_busy
0
# reg_write write
0
# reg_write reg
01011
# reg_write data
00000000000000000110001110101011
# pc_new
0110010110110001
# pc_old
0110001110100111
# pcsrc
1
# wb_op rd
01011
# wb_op write
0
# wb_op src
WBS_OPC
# aluresult
01011010010101100111110100011110
# memresult
10011110111110111110101000111010
# mem_out address
01111101000111
# mem_out rd
0
# mem_out wr
0
# mem_out byteena
1111
# mem_out wrdata
00010001011001100100000001010000
# exc_load
1
# exc_store
0

# test case 31
# mem_busy
0
# reg_write write
1
# reg_write reg
01011
# reg_write data
00000000000000001111100001011010
# pc_new
0011000001001011
# pc_old
1000001111000111
# pcsrc
0
# wb_op rd
01011
# wb_op write
1
# wb_op src
WBS_MEM
# aluresult
00100101100010100001000100100101
# memresult
00000000000000001111100001011010
# mem_out address
00010001001001
# mem_out rd
0
# mem_out wr
0
# mem_out byteena
1100
# mem_out wrdata
1010110111010110----------------
# exc_load
1
# exc_store
0

# test case 32
# mem_busy
0
# reg_write write
1
# reg_write reg
00101
# reg_write data
00000000000000001000001000111110
# pc_new
1001101110011011
# pc_old
1000001000111010
# pcsrc
0
# wb_op rd
00101
# wb_op write
1
# wb_op src
WBS_OPC
# aluresult
00111010110011000110100110001111
# memresult
00000000000000000101110110111111
# mem_out address
01101001100011
# mem_out rd
0
# mem_out wr
0
# mem_out byteena
0011
# mem_out wrdata
----------------1010110001011001
# exc_load
0
# exc_store
1

# test case 33
# mem_busy
1
# reg_write write
0
# reg_write reg
01010
# reg_write data
00000000000000000000000011011010
# pc_new
0101001111110011
# pc_old
0011100011010011
# pcsrc
0
# wb_op rd
01010
# wb_op write
0
# wb_op src
WBS_MEM
# aluresult
01010111010000110001111011111101
# memresult
00000000000000000000000011011010
# mem_out address
00011110111111
# mem_out rd
0
# mem_out wr
1
# mem_out byteena
0100
# mem_out wrdata
--------10010010----------------
# exc_load
0
# exc_store
0

# test case 34
# mem_busy
1
# reg_write write
1
# reg_write reg
00010
# reg_write data
00000000000000000011101011011110
# pc_new
1100101011100110
# pc_old
0011101011011010
# pcsrc
1
# wb_op rd
00010
# wb_op write
1
# wb_op src
WBS_OPC
# aluresult
01111000000110100100010101111011
# memresult
00000000000000000000000000001110
# mem_out address
01000101011110
# mem_out rd
0
# mem_out wr
1
# mem_out byteena
0001
# mem_out wrdata
------------------------01110011
# exc_load
0
# exc_store
0

# test case 35
# mem_busy
1
# reg_write write
1
# reg_write reg
01111
# reg_write data
10010001001100010001000001001111
# pc_new
1101001001011010
# pc_old
1010111010110111
# pcsrc
1
# wb_op rd
01111
# wb_op write
1
# wb_op src
WBS_MEM
# aluresult
00111110000111110010110011100010
# memresult
10010001001100010001000001001111
# mem_out address
00101100111000
# mem_out rd
0
# mem_out wr
0
# mem_out byteena
1111
# mem_out wrdata
10011110110111010010110100110110
# exc_load
1
# exc_store
0

# test case 36
# mem_busy
1
# reg_write write
0
# reg_write reg
01111
# reg_write data
00000000000000000000000001000101
# pc_new
0100000001011000
# pc_old
0111011111000001
# pcsrc
0
# wb_op rd
01111
# wb_op write
0
# wb_op src
WBS_MEM
# aluresult
00101110101000111001110101001001
# memresult
00000000000000000000000001000101
# mem_out address
10011101010010
# mem_out rd
0
# mem_out wr
1
# mem_out byteena
0100
# mem_out wrdata
--------11101100----------------
# exc_load
0
# exc_store
0

# test case 37
# mem_busy
0
# reg_write write
0
# reg_write reg
11110
# reg_write data
00000000000000000000000011011101
# pc_new
1100100110001000
# pc_old
0000000110100000
# pcsrc
1
# wb_op rd
11110
# wb_op write
0
# wb_op src
WBS_MEM
# aluresult
01110101101000001100011000100101
# memresult
00000000000000000000000011011101
# mem_out address
11000110001001
# mem_out rd
0
# mem_out wr
1
# mem_out byteena
0100
# mem_out wrdata
--------01011111----------------
# exc_load
0
# exc_store
0

# test case 38
# mem_busy
0
# reg_write write
1
# reg_write reg
10111
# reg_write data
11111111111111111111111110111110
# pc_new
0110100001100101
# pc_old
1011111000111111
# pcsrc
0
# wb_op rd
10111
# wb_op write
1
# wb_op src
WBS_MEM
# aluresult
01100010001000110100101100011111
# memresult
11111111111111111111111110111110
# mem_out address
01001011000111
# mem_out rd
0
# mem_out wr
1
# mem_out byteena
0001
# mem_out wrdata
------------------------01100101
# exc_load
0
# exc_store
0

# test case 39
# mem_busy
1
# reg_write write
1
# reg_write reg
11000
# reg_write data
01110011000001110010111110010100
# pc_new
0100010000011100
# pc_old
0101110010101110
# pcsrc
1
# wb_op rd
11000
# wb_op write
1
# wb_op src
WBS_ALU
# aluresult
01110011000001110010111110010100
# memresult
11011010100101101011101000011011
# mem_out address
00101111100101
# mem_out rd
1
# mem_out wr
0
# mem_out byteena
1111
# mem_out wrdata
01010010110011011100101001001000
# exc_load
0
# exc_store
0

# test case 40
# mem_busy
1
# reg_write write
1
# reg_write reg
10011
# reg_write data
01110100000111110111000101110011
# pc_new
1011100110010011
# pc_old
0001110001001101
# pcsrc
1
# wb_op rd
10011
# wb_op write
1
# wb_op src
WBS_ALU
# aluresult
01110100000111110111000101110011
# memresult
11111111111111111011111000001000
# mem_out address
01110001011100
# mem_out rd
0
# mem_out wr
0
# mem_out byteena
0011
# mem_out wrdata
----------------0101100110100000
# exc_load
1
# exc_store
0

# test case 41
# mem_busy
1
# reg_write write
0
# reg_write reg
00010
# reg_write data
00000000000000000110010000110011
# pc_new
1110110110100011
# pc_old
0110010000101111
# pcsrc
1
# wb_op rd
00010
# wb_op write
0
# wb_op src
WBS_OPC
# aluresult
00000101001011000100110101110111
# memresult
00000000000000001110101101001111
# mem_out address
01001101011101
# mem_out rd
0
# mem_out wr
0
# mem_out byteena
0011
# mem_out wrdata
----------------1100111100001011
# exc_load
0
# exc_store
1

# test case 42
# mem_busy
1
# reg_write write
1
# reg_write reg
00010
# reg_write data
00101100101100111111110110000110
# pc_new
0000001110001011
# pc_old
1011000101010101
# pcsrc
1
# wb_op rd
00010
# wb_op write
1
# wb_op src
WBS_ALU
# aluresult
00101100101100111111110110000110
# memresult
00000000000000000011010100110011
# mem_out address
11111101100001
# mem_out rd
1
# mem_out wr
0
# mem_out byteena
0011
# mem_out wrdata
----------------1010001001111001
# exc_load
0
# exc_store
0

# test case 43
# mem_busy
0
# reg_write write
0
# reg_write reg
01101
# reg_write data
00011000101111111001111101111101
# pc_new
1101110001010100
# pc_old
0111100001000110
# pcsrc
1
# wb_op rd
01101
# wb_op write
0
# wb_op src
WBS_ALU
# aluresult
00011000101111111001111101111101
# memresult
00000000000000000000011101111100
# mem_out address
10011111011111
# mem_out rd
0
# mem_out wr
0
# mem_out byteena
1100
# mem_out wrdata
0001110000101111----------------
# exc_load
0
# exc_store
1

# test case 44
# mem_busy
1
# reg_write write
0
# reg_write reg
01111
# reg_write data
00000000000000000001001011001010
# pc_new
0011111000100011
# pc_old
0001001011000110
# pcsrc
0
# wb_op rd
01111
# wb_op write
0
# wb_op src
WBS_OPC
# aluresult
00101000001111100110010000001000
# memresult
00000000000000000000000001010111
# mem_out address
01100100000010
# mem_out rd
1
# mem_out wr
0
# mem_out byteena
1000
# mem_out wrdata
00010111------------------------
# exc_load
0
# exc_store
0

# test case 45
# mem_busy
1
# reg_write write
1
# reg_write reg
01111
# reg_write data
00000000000000000000000011011111
# pc_new
1111101111001110
# pc_old
0100001101011100
# pcsrc
0
# wb_op rd
01111
# wb_op write
1
# wb_op src
WBS_MEM
# aluresult
00000100110010111100001101010001
# memresult
00000000000000000000000011011111
# mem_out address
11000011010100
# mem_out rd
0
# mem_out wr
1
# mem_out byteena
0100
# mem_out wrdata
--------01000110----------------
# exc_load
0
# exc_store
0

# test case 46
# mem_busy
1
# reg_write write
1
# reg_write reg
10010
# reg_write data
00000000000000000000000001111000
# pc_new
1110000100101100
# pc_old
0011100110001101
# pcsrc
1
# wb_op rd
10010
# wb_op write
1
# wb_op src
WBS_MEM
# aluresult
01000010100001100001001011001000
# memresult
00000000000000000000000001111000
# mem_out address
00010010110010
# mem_out rd
0
# mem_out wr
1
# mem_out byteena
1000
# mem_out wrdata
11110100------------------------
# exc_load
0
# exc_store
0

# test case 47
# mem_busy
0
# reg_write write
1
# reg_write reg
10111
# reg_write data
01100000011111110100000101111000
# pc_new
0001001111110010
# pc_old
1010111111010111
# pcsrc
0
# wb_op rd
10111
# wb_op write
1
# wb_op src
WBS_ALU
# aluresult
01100000011111110100000101111000
# memresult
00000000000000000000000001010010
# mem_out address
01000001011110
# mem_out rd
0
# mem_out wr
1
# mem_out byteena
1000
# mem_out wrdata
00001101------------------------
# exc_load
0
# exc_store
0

# test case 48
# mem_busy
0
# reg_write write
0
# reg_write reg
11111
# reg_write data
00110100011011100100010100111011
# pc_new
1111010000000100
# pc_old
0001101110110011
# pcsrc
1
# wb_op rd
11111
# wb_op write
0
# wb_op src
WBS_ALU
# aluresult
00110100011011100100010100111011
# memresult
00000000000000000101001110000100
# mem_out address
01000101001110
# mem_out rd
0
# mem_out wr
0
# mem_out byteena
0011
# mem_out wrdata
----------------0010011110100011
# exc_load
1
# exc_store
0

# test case 49
# mem_busy
0
# reg_write write
1
# reg_write reg
10101
# reg_write data
00000000000000001110101001111111
# pc_new
0011011111000000
# pc_old
1110101001111011
# pcsrc
1
# wb_op rd
10101
# wb_op write
1
# wb_op src
WBS_OPC
# aluresult
01010000001010110101100000010110
# memresult
00000000000000000000000001101001
# mem_out address
01011000000101
# mem_out rd
0
# mem_out wr
1
# mem_out byteena
0010
# mem_out wrdata
----------------11000100--------
# exc_load
0
# exc_store
0

# test case 50
# mem_busy
1
# reg_write write
0
# reg_write reg
10110
# reg_write data
01101010100001000100001000110101
# pc_new
1101110010011001
# pc_old
0100000101110001
# pcsrc
0
# wb_op rd
10110
# wb_op write
0
# wb_op src
WBS_ALU
# aluresult
01101010100001000100001000110101
# memresult
00000000000000000000000000011000
# mem_out address
01000010001101
# mem_out rd
1
# mem_out wr
0
# mem_out byteena
0100
# mem_out wrdata
--------00100111----------------
# exc_load
0
# exc_store
0

# test case 51
# mem_busy
1
# reg_write write
0
# reg_write reg
00110
# reg_write data
00000000000000001101001110000110
# pc_new
1011000100100111
# pc_old
1101001110000010
# pcsrc
1
# wb_op rd
00110
# wb_op write
0
# wb_op src
WBS_OPC
# aluresult
01011111111000010011000011000100
# memresult
00000000000000000100101001001111
# mem_out address
00110000110001
# mem_out rd
1
# mem_out wr
0
# mem_out byteena
1100
# mem_out wrdata
0101011011000010----------------
# exc_load
0
# exc_store
0

# test case 52
# mem_busy
0
# reg_write write
1
# reg_write reg
01011
# reg_write data
00101101010000001101000111111000
# pc_new
1111011010001001
# pc_old
1100001001100110
# pcsrc
1
# wb_op rd
01011
# wb_op write
1
# wb_op src
WBS_ALU
# aluresult
00101101010000001101000111111000
# memresult
00000000000000000011000001001000
# mem_out address
11010001111110
# mem_out rd
0
# mem_out wr
1
# mem_out byteena
1100
# mem_out wrdata
0011110010101010----------------
# exc_load
0
# exc_store
0

# test case 53
# mem_busy
1
# reg_write write
1
# reg_write reg
11100
# reg_write data
00000000000000000000000001110101
# pc_new
0111010001100111
# pc_old
0010100011101011
# pcsrc
0
# wb_op rd
11100
# wb_op write
1
# wb_op src
WBS_MEM
# aluresult
00100001111011110111011101011011
# memresult
00000000000000000000000001110101
# mem_out address
01110111010110
# mem_out rd
1
# mem_out wr
0
# mem_out byteena
0001
# mem_out wrdata
------------------------01001110
# exc_load
0
# exc_store
0
